<?php

namespace App\Http\Controllers\Admin;

use Illuminate\Http\Request;
use App\Http\Controllers\Controller;
use App\Model\Tournament;


class TournamentController extends Controller
{
    // 比赛项目列表
    function index(){
        // 调用系统内置分页函数，每次查8条比赛项目数据
        $data = Tournament::paginate(8);
        // 返回视图模板，将查出的比赛项目数据作为参数带到页面
        return view('admin.tournament.index',['data' => $data]);
    }

    // 添加比赛项目
    function add(Request $request){
        // 如果是POST请求
        if($request->isMethod('POST')){
            // 获取表单数据
            $data = $request->input('tournament');
            // 实例化比赛项目模型
            $new_tournament = new Tournament();
            // 赋值
            $new_tournament->name = $data['name'];
            $new_tournament->round = $data['round'];
            $new_tournament->category = $data['category'];
            $new_tournament->details = $data['details'];

            // 插入数据
            if($new_tournament->save()){
                return redirect('admin/sport/tournament')->with('success',"新增项目成功");
            }else{
                return redirect()->back();
            }
        }

        // get请求直接返回视图
        return view('admin.tournament.add');
    }

    // 更新比赛项目
    function update(Request $request,$id){
        // 根据id获取当前比赛项目
        $tournament = Tournament::find($id);
        // 如果是POST请求
        if($request->isMethod('POST')){
            // 获取表单数据
            $data = $request->input('tournament');
            // 赋值
            $tournament->name = $data['name'];
            $tournament->round = $data['round'];
            $tournament->category = $data['category'];
            $tournament->details = $data['details'];

            // 更新当前比赛项目数据
            if($tournament->save()){
                return redirect('admin/sport/tournament')->with('success',"修改团队成功");
            }else{
                return redirect()->back();
            }
        }

        // get请求直接返回视图，并带上当前比赛项目数据
        return view('admin.tournament.update',['tournament' => $tournament]);
    }

    //根据id删除数据
    function remove($id){
        // 获取当前比赛项目信息
        $cur_data = Tournament::find($id);
        
        //调用delete()函数删除数据，并重定向返回视图
        if($cur_data->delete()){
            return redirect('admin/sport/tournament')->with('success','删除成功');
        }

        return redirect('admin/sport/tournament')->with('error','删除失败');
    }
}
